<template>
  <section class="oa-form__table">
    <h5>{{ approve.name }}</h5>
    <table cellpadding="0" cellspacing="0">
      <tr v-if="$route.query.from != 'new'">
        <td>事务编号</td>
        <td>
          {{ approve.name }}
          <span v-if="approve && approve.code">{{ approve.code }}</span>
        </td>
      </tr>
      <tr>
        <td>流程名称</td>
        <td>
          <span v-if="$route.query.from == 'new'">新建{{ approve.name }}</span>
          <span v-else>
            {{ approve.approve_name }}
          </span>
        </td>
      </tr>
      <tr>
        <td>申请事由</td>
        <td :title="reason"><el-input placeholder="申请事由" type="textarea" v-model="reason" :disabled="$route.query.from != 'new'"/></td>
      </tr>
    </table>
    <h3 class="oa-form__table-title">
      <span v-if="$route.query.from === 'new'">{{ approve.name }}</span>
      <span v-else>
        {{ approve.approve_name }}
      </span>
    </h3>
     <table class="achievement__tab" border="1">
      <tr>
        <td>工作职责</td>
        <td colspan="7">
          1、了解项目脚本，对视频内容进行编排梳理。<br/>
          2、负责依据脚本拍摄并剪辑素材，完成视频拍摄剪辑，进行音乐制作和视频剪辑包装<br/>
          3、对自己剪辑和包装的视频，进行自检和互检工作，避免重复。
        </td>
      </tr>
      <tr>
        <td>考核周期:</td>
        <td>
          <el-date-picker
            value-format="yyyy-MM-dd"
            type="date"
            v-model="applyTime"
            :disabled="$route.query.from !== 'new'"
            placeholder="考核周期">
          </el-date-picker>
        </td>
        <td>部门:</td>
        <td>
          <el-select v-model="department" :disabled="$route.query.from != 'new'" placeholder="请选择">
            <el-option
              v-for="item in departments"
              :key="item.value"
              :label="item.label"
              :value="item.value">
            </el-option>
          </el-select>
        </td>
        <td>姓名:</td>
        <td width="150">
          <el-select v-model="value" style="width:60%" :disabled="$route.query.from != 'new'" placeholder="请选择"  @change="selectStaff($event)">
            <el-option
              v-for="item in staff"
              :key="item.value"
              :label="item.label"
              :value="item">
            </el-option>
          </el-select>
        </td>
        <td>部门:</td>
        <td width="150"><el-input v-model="gangwei" :disabled="$route.query.from !== 'new'" placeholder="部门"/></td>
      </tr>
      <tr>
        <td class="_name">考核指标</td>
        <td class="_name">指标定义</td>
        <td class="_name">权重</td>
        <td class="_name">评分说明</td>
        <td class="_name">评分标准</td>
        <td class="_name">自评</td>
        <td class="_name">主管评分</td>
        <td class="_name">实际得分</td>
      </tr>
     <tr>
    <td rowspan="2">任务完成情况</td>
      <td>制作数量</td>
        <td>30%</td>
        <td>每天出7个有效作品，若当日无法完成，第二日可补充直至每月完成140个作品。（一周少于30个有效作品，视为无法胜任工作，公司将进行辞退）</td>
        <td>数量大于150%，加4分<br>
          150%≧数量≧120%，加2分<br>
          120%&gt;数量≧100%，得30分<br>
          100%&gt;数量≧80%，得25分<br>
          80%&gt;数量≧50%，得20分<br>
        数量小于50%，得0分</td>
        <td><el-input v-model="obj.a339" :disabled="obj.a339Flag" /></td>
        <td>直属上级</td>
        <td><el-input v-model="obj.a347" :disabled="obj.a347Flag" /></td>
   </tr>
   <tr>
    <td>过审数量</td>
    <td>30%</td>
    <td>每天出1个过审作品，若当日无法完成，第二日可补充直至每月完成21个作品。</td>
    <td>
      数量大于120%，加4分<br>
      120%≧数量≧100%，加2分<br>
      100%&gt;数量≧70%，得30分<br>
      70%&gt;数量≧50%，得25分<br>
      50%&gt;数量≧30%，得20分<br>
      数量小于30%，得0分</td>
    <td><el-input v-model="obj.a340" :disabled="obj.a340Flag" /></td>
    <td>直属上级</td>
    <td><el-input v-model="obj.a348" :disabled="obj.a348Flag" /></td>
  </tr>
   <tr>
     <td>任务完成质量</td>
    <td>工作质量</td>
    <td>20%</td>
    <td>视频自检互检后，提交视频质量</td>
    <td>
      自检互检后提交视频后，重复不超过3次，一般技术性错误（视频语言表达清晰或较小的后期瑕疵）不超过3次。20分（两项都需达成）<br>
      自检互检后提交视频后，重复次数大于3次不超过6次，一般技术性错误大于3次不超过6次。15分（两项都需达成）<br>
      自检互检后提交视频后，重复次数大于6次不超过9次，一般技术性错误大于6次不超过9次。10分（两项都需达成）<br>
      自检互检后提交视频后，重复次数超过9次，一般技术性错误超过9次。0分（两项都需达成）</td>
    <td><el-input v-model="obj.a341" :disabled="obj.a341Flag" /></td>
    <td>直属上级</td>
    <td><el-input v-model="obj.a349" :disabled="obj.a349Flag" /></td>
  </tr>
   <tr>
     <td rowspan="5">行为指标</td>
      <td>主动性</td>
      <td>4%</td>
      <td>分五级判定，特别优秀者可加2分</td>
      <td>
        对的上司安排工作无法完成，并且不反馈原因。0分<br>
        工作能够按时完成，但不关系效果，也不反馈沟通。2分<br>
        工作完成过程中有问题或困难反馈给上司，工作尽可能提前完成，完成后及时反馈给上司，主动请上司对效果进行检查和评价。3分<br>
        任务完成过程中预计会影响节点或效果的及时给上司反馈，工作总能提前完成，每次都会主动征求上司对效果的意见。如有困难或问题自己想办法解决或找资源协调解决，自己解决不了的，提供解决问题的建议请上司参考做决定。4分</td>
      <td><el-input v-model="obj.a342" :disabled="obj.a342Flag" /></td>
      <td>直属上级</td>
      <td><el-input v-model="obj.a350" :disabled="obj.a350Flag" /></td>
    </tr>
    <tr>
      <td>责任心</td>
      <td>4%</td>
      <td>分四级判定，特别优秀者可加2分 </td>
      <td>
        无责任心时时督促，亦不能完成任务。0分<br>
        责任心不强，需要有人督促，但亦无法按期完成任务。2分<br>
        尚有责任心，需要有人督促，但偶尔无法按期完成任务。3分<br>
        具有责任心，能达成任务，可以交付工作。4分</td>
      <td><el-input v-model="obj.a343" :disabled="obj.a343Flag" /></td>
      <td>直属上级</td>
      <td><el-input v-model="obj.a684" :disabled="obj.a684Flag" /></td>
    </tr>
    <tr>
      <td>创新性</td>
      <td>4%</td>
      <td>分四级判定，特别优秀者可加2分</td>
      <td>因循守旧，墨守成规。0分<br>
        按部就班，鲜少提出新想法与新得工作方法。2分<br>
        工作中努力学习进去，提出新想法与新得工作方法，并有风险意识。3分<br>
      工作中能不断提出新想法、新措施，善于学习，注意规避风险，锐意求新，在工作中有较大创新。4分</td>
      <td><el-input v-model="obj.a344" :disabled="obj.a344Flag" /></td>
      <td>直属上级</td>
      <td><el-input v-model="obj.a685" :disabled="obj.a685Flag" /></td>
    </tr>
    <tr>
      <td>协作性</td>
      <td>4%</td>
      <td>分四级判定，特别优秀者可加2分</td>
      <td>不能积极响应或者写作任务得完成质量较差。0分<br>
        根据同事得请求提供一般协助。2分<br>
        能与同事保持良好的合作关系，协作完成工作。3分<br>
      主动协作同事出色完成工作。4分</td>
      <td><el-input v-model="obj.a345" :disabled="obj.a345Flag" /></td>
      <td>直属上级</td>
      <td><el-input v-model="obj.a686" :disabled="obj.a686Flag" /></td>
    </tr>
    <tr>
      <td>纪律性</td>
      <td>4%</td>
      <td>分四级判定</td>
      <td>不能遵守工作规定和标准，经常发生违规情况，自觉性和纪律性差。0分<br>
        基本能够遵守工作规定和标准，基本能够遵守纪律，但有时候出现自我要求不严的情况。2分<br>
        能够遵守工作的规定和标准，有较强的自觉性和纪律性。3分<br>
      能够长期严格遵守工作规定和标准，有非常强的自觉性和纪律性。4分</td>
      <td><el-input v-model="obj.a346" :disabled="obj.a346Flag" /></td>
      <td>督导</td>
      <td><el-input v-model="obj.a687" :disabled="obj.a687Flag" /></td>
    </tr>
      <tr>
        <td colspan="6"></td>
        <td>自评:{{myScore}}</td>
        <td>综合考核率:{{otherScore}}</td>
      </tr>
    </table>
    <history :process="process"></history>
    <files></files>
  </section>
</template>
<script>
import mixin from '@/mixins/index.js'
import history from '../service/components/process'
import files from '../service/components/files'
import { sum } from '@/utils/domUtils.js'
// import { save, info, getAutoKey } from '@/api/oa/index.js'
const obj = {}
for (let i = 339; i <= 350; i++) {
  obj[`a${i}`] = ''
  obj[`a${i}Flag`] = true
}
for (let i = 684; i <= 687; i++) {
  obj[`a${i}`] = ''
  obj[`a${i}Flag`] = true
}
export default {
  mixins: [mixin],
  data () {
    return {
      reason: '',
      truename: '',
      department: '',
      flag: false,
      value: '',
      obj: JSON.parse(JSON.stringify(obj)),
      applyTime: '',
      gangwei: '',
      file_paths: [],
      file_names: [],
      field_ids: [],
      field_vals: [],
      autoField: []
    }
  },
  components: { history, files },
  props: ['curDepartment', 'userInfo', 'approve', 'staff', 'addDofield', 'departments', 'process'],
  computed: {
    uploadArr () {
      return this.$store.state.uploadArr
    },
    b1 () {
      const num = parseFloat((Number(this.obj.a213) + Number(this.obj.a214)) / 2).toFixed(2)
      return num
    },
    myScore () {
      const result = []
      for (let i = 339; i <= 346; i++) {
        if (this.obj[`a${i}`]) {
          result.push(this.obj[`a${i}`])
        }
      }
      return sum(result)
    },
    otherScore () {
      const result = []
      for (let i = 347; i <= 350; i++) {
        if (this.obj[`a${i}`]) {
          result.push(this.obj[`a${i}`])
        }
      }
      for (let i = 684; i <= 687; i++) {
        if (this.obj[`a${i}`]) {
          result.push(this.obj[`a${i}`])
        }
      }
      return sum(result)
    }
  },
  watch: {
    addDofield () {
      this.addDofieldRender()
    }
  },
  mounted () {
    this.$nextTick(() => {
      this.obj = JSON.parse(JSON.stringify(obj))
      if (this.$route.query.from === 'new') {
        this.disabled = true
      } else {
        this.infoFunc()
      }
    })
  },
  methods: {
  }
}
</script>
